<?php
namespace app\videojs\controller;

use app\BaseController;
use think\facade\View;  // 门面方法

class Index extends BaseController
{

    /*
     * 测试video.js
     *
     * 前端使用video.js; 后端输出m3u8; 即blog://
     * */
    public function index(){
        // composer require php-ffmpeg/php-ffmpeg
        $ffmpeg = \FFMpeg\FFMpeg::create();
        $video  = $ffmpeg->open('D:\video\1.mkv');
        // 分辨率
        $video->filters()->resize(new \FFMpeg\Coordinate\Dimension(320, 240))->synchronize();
        // 保存66秒处缩略图
        $video->frame(\FFMpeg\Coordinate\TimeCode::fromSeconds(66)) ->save('D:\video\111.jpg');
        // 俺那天来，这个保存视频太耗性能了！
        $video->save(new \FFMpeg\Format\Video\WMV(), 'D:\video\x264.wmv');

        /*
         *  使用FFmpeg命令生成m3u8文件, 在cmd中运行FFmpeg命令
         *
         * $ts    先生成ts文件
         * $m3u8  使用ts文件生成m3u8 (m3u8、切片必须在同级文件夹下)
         * $jpgs  每隔10秒生成缩略图（爱奇艺进度条-缩略图）
         * $thumb 生成单张缩略图 -ss 6 （6秒时生成）
         *
         * PHP下可以使用exec、system调用cmd; 如: exec($ts, $output, $result_code)
         * */
        $ts    = "ffmpeg -i D:/1.mkv -y -vcodec copy -acodec copy -vbsf h264_mp4toannexb D:/1.ts";
        $m3u8  = "ffmpeg -i D:/video/1.ts  -c copy -map 0 -f segment -segment_list D:/video/1.m3u8 -segment_time 10 D:/video/video-%03d.ts";
        $jpgs  = "ffmpeg -i D:/video/1.mkv -f image2  -q:v 2 -vf fps=fps=1/10 %3d.jpg";
        $thumb = "ffmpeg -i D:/video/1.mkv -y -f mjpeg -ss 6 -t 10 -s 320x240 1.jpg";
        $date  = ['m3u8' => '1.m3u8'];
        View::assign($date);
        return view();
    }


}